package com.stu.day09;

/**
 * 函数式接口 - 只能有一个抽象方法
 * @author zy
 * @date 2025/1/31 18:28
 */
@FunctionalInterface
public interface Funable {
    void test();
}
class FunableTest{
    public static void main(String[] args) {
        //1. 虽然接口不能够被实例化,但是此处可以使用匿名内部类
        //匿名内部类的写法 - 比较繁琐
        Funable f = new Funable() {
            @Override
            public void test() {
                System.out.println("test...");
            }
        };
        f.test();

        //2. 使用jdk8.0提供的lambda表达式来替代匿名内部类的写法 - 代码的简洁
        //TODO 看接口中的方法的参数列表
        //如果代码块只有一行代码,那么{}可以省略不写.
        Funable f1 = ()-> System.out.println("hello-lambda");
        f1.test();
    }
}
